function [ reqdata,object ] = getFR( code, type, time )
%   GERFR是获取财务报表的函数，用法如下
%   type:'BalanceSheet','ProfitStatement','CashFlow'
%   time:'yyyymm' mm='03,06,09,12'
%   example1: [reqdata] = getFR('000001','BalanceSheet','201112')
%   获取2011第四季平安银行的资产负债表 
%   example2: [reqdata,obeject] = getFR('000001','CashFlow','2011') 
%   获取2011全年平安银行现金表以及对应条目
%
%% 读取文本数据

Pre = 'http://money.finance.sina.com.cn/corp/go.php/vDOWN_';
Mid = '/displaytype/4/stockid/';
End = '/ctrl/all.phtml';
url = strcat(Pre,type,Mid,code,End);
text = urlread(url,'Charset','GBK');

%% 转换为cell格式

datas = textscan(text, '%s','delimiter','\n'); %利用'\n'获取列数据
COL = length(datas{:}); %得到行数
header =  textscan(datas{1}{1},'%s','delimiter','\t');%利用'\t'获取抬头数据
ROW = length(header{:}); %得到列数


datacell =  textscan(text,repmat('%s',1,ROW),'delimiter','\t');

%% 提取对应时间财务报告

if nargin==3
    REQ = strmatch(time,header{:});
else if nargin<3
        REQ = 2:ROW;
    end
end

%转换所需数据cell格式至double格式

for j=1:length(REQ)
    for i=1:COL
        if isempty(datacell{REQ(j)}{i})
            reqdata(i,j)=0;
        else if isletter(datacell{REQ(j)}{i})
            reqdata(i,j)=0;
            else
            reqdata(i,j) = str2num(cell2mat(datacell{REQ(j)}(i)));
            end
        end
    end;
end

%% 展示对应时间的财务报告

disp([datacell{1},datacell{REQ}]);
object = datacell{1};


end

